package com.ziyun.erp.modules.production.service;

import com.baomidou.mybatisplus.service.IService;
import com.ziyun.erp.modules.order.vo.OrderItemVo;
import com.ziyun.erp.modules.production.dto.OrderItemSendPicsDto;
import com.ziyun.erp.modules.production.dto.ProcurementItemUpdateDto;
import com.ziyun.erp.modules.production.entity.vo.ErpOrderItemAllotVo;
import com.ziyun.erp.modules.production.vo.ErpOrderItemListVo;
import io.renren.common.utils.PageUtils;
import com.ziyun.erp.modules.production.entity.ErpOrderItemEntity;
import io.renren.common.utils.R;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * erp订单商品表
 *
 * @author guizhao
 * @email ...
 * @date 2018-08-22 14:44:58
 */
public interface ErpOrderItemService extends IService<ErpOrderItemEntity> {

    PageUtils queryPage(Map<String, Object> params);

    List<ErpOrderItemAllotVo> selectErpOrderItemAllotVosByNo(String orderNo);

    List<ErpOrderItemEntity> selectListByErpOrder(String orderNo);

    BigDecimal selectItemTotalMoney(String orderNo);

    boolean operateErpOrderItemStatus(String orderId, Integer status);

    boolean updateByMap(Map<String, Object> updateMap, Integer eoItemId);

    boolean updateBatchByMap(Map<String, Object> updateMap, List<Integer> eoItemIds);

    R sendPics(OrderItemSendPicsDto orderItemSendPicsDto);

    ErpOrderItemEntity selectByItemId(Integer itemId);

    boolean updateBatchByOrderItemId(Map<String, Object> updateMap, List<Integer> itemIds);

    boolean updateByMapOrderId(Map<String, Object> updateMap, String orderId);

    List<ErpOrderItemListVo> selectListByOrderId(String orderNo);

    R procurementItemUpdate(ProcurementItemUpdateDto procurementItemUpdateDto);

    OrderItemVo getAllotQuoteItem(Integer productionId);
}

